#  2、http://mall.nnzhp.cn/sky/有一个存着学生成绩的文件，里面存的是json串，json串读起来特别不直观，需要你写代码把它都写到excel中，并计算出总分和平均分，json格式如下
# #      http://www.nnzhp.cn/archives/433  第8题
import json,xlwt
def get_all_scroe(filename):         #从文件中获取数据并转换成字典
    with open(filename,'r') as fw:
        t=fw.read()
        scroe = json.loads(t)
    return scroe

student_score=(get_all_scroe("student_score.txt"))

score_book=xlwt.Workbook()    #创建一个excel文件
sheet=score_book.add_sheet("sheet1",cell_overwrite_ok=True)  #新建一个sheet1页
# sheet.activate()
# title = ['学号','姓名','语文成绩','数学成绩','英语成绩','总分','平均分'] # 设置表头
# sheet.write_row('A1',title) # 从A1单元格开始写入表头
sheet.write(0,0,"学号")    #把表头写入
sheet.write(0,1,"姓名")
sheet.write(0,2,"语文成绩")
sheet.write(0,3,"数学成绩")
sheet.write(0,4,"英语成绩")
sheet.write(0,5,"总分")
sheet.write(0,6,"平均分")
i=0
for k,v in student_score.items():  #从字典中取出姓名和成绩
    i+=1
    v2=list(map(float,v[1:len(v)]))  #把成绩转换成浮点型，并放到list里面
    sheet.write(int(k),0,k)       #循环写入字典key值，对应"学号"

    sheet.write(int(k), 5, sum(v2))  #循环写入总分
    sheet.write(int(k), 6, sum(v2)/len(v2))  #循环写入平均分
    for j in range(len(v)):      #循环写入字典value值，对应姓名和各科成绩
        sheet.write(i,j+1,v[j])
score_book.save("score_book.xls")  #保存表格






